package org.dromara.merchants.mapper;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.dromara.common.mybatis.annotation.DataColumn;
import org.dromara.common.mybatis.annotation.DataPermission;
import org.dromara.merchants.domain.TaGoods;
import org.dromara.merchants.domain.vo.TaCustomClassificationVo;
import org.dromara.merchants.domain.vo.TaGoodsVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.apache.ibatis.annotations.Param;
import org.dromara.merchants.domain.vo.TaGroupGoodsVo;

import java.util.List;

/**
 * 商品Mapper接口
 *
 * @author xiyin321
 * @date 2024-07-02
 */
public interface TaGoodsMapper extends BaseMapperPlus<TaGoods, TaGoodsVo> {

    @DataPermission({
        @DataColumn(key = "userName", value = "create_by")
    })
    Page<TaGoodsVo> selectGoodsPage(@Param("page") Page<Object> build,@Param(Constants.WRAPPER) Wrapper<TaGoods> taGoodsWrapper);

    @DataPermission({
        @DataColumn(key = "userName", value = "create_by")
    })
    List<TaGoodsVo> selectGoodsList(@Param(Constants.WRAPPER) Wrapper<TaGoods> taGoodsWrapper);

    Page<TaGroupGoodsVo> selectGroupPage(@Param("page") Page<Object> build, @Param(Constants.WRAPPER) Wrapper<TaGoods> taGoodsWrapper);

    Page<TaGoodsVo> selectAppPage( @Param("page") Page<Object> build,@Param(Constants.WRAPPER)  Wrapper<TaGoods> taGoodsWrapper);
}
